N/A
The present invention relates generally to computer network and telecommunication technologies, and more specifically to a system and method for supporting multiple application traffic types over a connection based network.
Data associated with different types of applications must often be transferred over a shared communications network. For example, there is a growing need to use a network to transfer data for both what may be referred to as xe2x80x9cinelasticxe2x80x9d applications, as well as data for what may be referred to as xe2x80x9celasticxe2x80x9d applications. xe2x80x9cInelasticxe2x80x9d applications are those which cannot tolerate a significant delay variation within the network. Examples of inelastic applications are real time video and/or voice applications. Elastic applications, in contrast, are those which are relatively tolerant of delay variation within the network. Examples of elastic applications include electronic mail and file transfer. In many situations, a customer may desire to use a single network to transfer data associated with both inelastic and elastic applications.
Communications networks are sometimes described as being either xe2x80x9cconnection-orientedxe2x80x9d, or xe2x80x9cconnectionless.xe2x80x9d For example, the classic model of IP (Internet Protocol) routing is connectionless. A connectionless network such as classic IP is based on packets that are self describing, so that each packet can be treated independently. Accordingly, different packets may take different routes between the same two systems. In contrast, connection-oriented networks establish a fixed route between source and destination, over which all traffic is communicated. Examples of connection oriented network technologies include Asynchronous Transfer Mode (ATM) and Multiprotocol Label Switching (MPLS).
When both inelastic traffic and elastic traffic are to be transmitted over a connection oriented network, a decision may need to be made as to what type or quality of connection to use. For example, some connection types may be more appropriate for inelastic traffic than for elastic traffic, and vice versa. Such a scenario arises, for example, in the case of an end station having an interface to a connection oriented network. When the end station emits data units onto the connection-oriented network, it may need to choose from among connections associated with various types of services in order to define the characteristics of the connection or connections to use for either or both of the inelastic and/or elastic traffic.
A similar problem may arise when mapping services provided over a connectionless network to services offered over a connection-oriented network. A specific example of such a scenario is mapping data units from a traditional IP network onto an ATM network. In this case, the services offered by the IP network may include those based on the IP Differentiated Services model. The services offered by the ATM network do not directly map to the IP Differentiated Services model. This arises from the fact that while ATM Quality of Service (QoS) parameters are absolute, i.e. the service offered to one ATM connection is independent of the service offered to another connection, IP Differentiated Services supports service definitions that are relative, such that the QoS available to one flow depends on that offered to another flow. In addition, the notion of a Per-Hop Behavior is fundamental to the Differentiated Services model. However, a Per-Hop Behavior is fundamentally different from an ATM service category. ATM service categories define services whose performance is specified on an end-to-end basis, while Per-Hop Behaviors describe outcomes observable at individual switches.
More specifically, since IP has traditionally been a xe2x80x9cbest effortxe2x80x9d service, QoS like that provided by ATM networks has been difficult to provide over IP. QOS features would allow ISPs to provide different service levels to different customers. IP Differentiated Services is one mechanism intended to provide QoS-like features over IP.
IP Differentiated Services (also referred to as xe2x80x9cDiffServ,xe2x80x9d or xe2x80x9cDSxe2x80x9d) is a protocol for specifying and controlling network traffic so that certain types of traffic get precedence. For example, voice traffic, which requires a relatively uninterrupted flow of data, might get precedence over other kinds of traffic. In the IP Differentiated Services model, each IP packet is associated with certain forwarding behaviorsxe2x80x94known as Per Hop Behaviors (PHBs). A six-bit value stored in a Differentiated Services (DS) field of the Internet Protocol (IP) header is used to store a Differentiated Services Code Point (DSCP), which specifies the per hop behavior. In particular, two per-hop behaviors, Expedited Forwarding (EF) and Assured Forwarding (AF) have been defined. The EF PHB is intended for applications which are based on xe2x80x9cinelasticxe2x80x9d traffic, such as those that require a xe2x80x9cvirtual leased linexe2x80x9d service, with associated low loss and low delay variation service commitments. The AF PHB is regarded as suitable for applications based on xe2x80x9celasticxe2x80x9d traffic, which are more tolerant of delay variation. In this description, references to xe2x80x9cinelasticxe2x80x9d traffic are intended to indicate IP traffic associated with the Expedited Forwarding PHB, while references to xe2x80x9celasticxe2x80x9d traffic are intended to indicate IP traffic associated with the Assured Forwarding PHB.
ATM provides connections that define routes to be used between communicating entities. ATM supports different types of service that may be associated with a connection. The various service categories supported by ATM enable ATM networks to provide what are generally referred to as Quality of Service (QoS) commitments to users of ATM connections. The set of ATM service categories includes Constant Bit Rate (CBR), and Unspecified Bit Rate (UBR) The CBR ATM service category is associated with connections that provide a fixed (static) amount of bandwidth. A CBR connection is characterized by a Peak Cell Rate (PCR) value that is continuously available during the connection lifetime. The connection source may continuously transmit cells at or below the PCR at any time, and for any duration, with the expectation of low loss delivery. The CBR service provides a tightly constrained Cell Delay Variation (CDV). In contrast, the UBR ATM service is a xe2x80x9cbest effortxe2x80x9d service, intended for applications which do not require tightly constrained delay variation, nor a specified quality of service. UBR service supports a high degree of statistical multiplexing across sources, also referred to as a high xe2x80x9cmultiplexing gain,xe2x80x9d resulting in improved utilization of network resources. UBR service does not provide traffic related service commitments. Specifically, UBR does not include the notion of a per-connection bandwidth commitment.
The International Telecommunication Union has defined a number of ATM-layer Transfer Capabilities (ATCs) corresponding to the ATM Service Categories. For example, the ITU ATC corresponding to the CBR ATM service category is referred to as DBR (Deterministic Bit Rate) with QoS class 1, and may be written as DBR.1. Similarly, the ATC corresponding to the UBR ATM service category is DBR with an unspecified QoS class, written as DBR.U. In the present disclosure, references to ATM services are used for purposes of illustration, but are intended to indicate the respective ITU ATC designations as well.
Various efforts have been made with regard to supporting the features of the IP Differentiated Services model over connection oriented networks, such as work done by the ATM Forum for ATM networks. From a customer""s perspective, there is a need to have the capabilities provided by the IP Differentiated Services model in those cases where some portion of the end to end network includes an ATM network. Network service providers are faced with the need to offer multiple virtual trunks or VPNs, e.g. one virtual trunk per customer, such that each customer has access to features of the IP Differentiated Services model over such virtual trunks or VPNs, also in the case where the underlying network includes an ATM network. Appropriate allocation of resources should allow network service providers to offer such virtual trunks or virtual private networks (VPNs) such that the following objectives are met:
(a) The virtual trunks should be isolated from each other. Traffic segregation between virtual trunks should allow a customer owning a given trunk to have instant access to all the provisioned bandwidth of the trunk at any time, with no impact on the services seen by other customers.
(b) The virtual trunks should be capable of carrying customer traffic having differing relative priorities. Relative priorities within logical trunks should allow service providers to offer qualitative or relative services to a given customer. For example, within a virtual trunk, a service provider should be able to support (i) premium real time services, such as voice over IP (VOIP), (ii) Better than Best Effort (BBE) services, for which the Service Level Agreement (SLA) specifies low loss, and (iii) a best effort (BE) service.
(c) Customers should achieve high multiplexing gain within their virtual trunks. A high multiplexing gain on a virtual trunk could result in higher revenues to a network service provider.
(d) Provisioning should be relatively simple. Simple provisioning is fundamental to the IP Differentiated Services model, where the simplest provisioning model is to establish the bandwidth of a virtual trunk, or a few flow aggregates within a virtual trunk.
(e) Provisioning of trunks across service providers"" networks should be possible with a commitment of no loss or minimal loss delivery. The no-loss or minimal-loss transfer commitment over trunks would advantageously force discard control back to the network ingress. This would allow the customer of a network service provider, e.g. an ISP, to have full control over discard control strategies that may be implemented at the network edge.
(f) Work conserving transfer should be achieved within virtual trunks. A work-conserving discipline within virtual trunks would maximize the customer""s use of provisioned resources. A work conserving approach should preferably support a combination of inelastic (EF) traffic and elastic (AF) traffic in each trunk.
(g) Work conserving transfer should be achieved across virtual trunks, for example, by allowing elastic traffic from one logical trunk to make use of unused transmission opportunities within another logical trunk. A work-conserving discipline across virtual trunks would further increase utilization, providing additional revenue potential for service providers.
An existing proposal for support of IP Differentiated services over ATM networks, as developed by the ATM Forum, utilizes UBR connections enhanced with an associated per-hop Behavior Class Selector (BCS) value, either by configuration or through signaling procedures. The BCS value associated with a UBR connection allows for qualitative service differentiation between UBR connections. Additionally, the proposal specifies a model in which a mapping is configured between IP Differentiated Service code points and the BCS values used in an operator""s network. By means of configuration or signaling, ATM VCs for a given customer are created between points on the edge of the ATM network, in what are referred to as xe2x80x9cedge devicesxe2x80x9d which interface between the IP network and the ATM network. More specifically, included in the configuration process or signaling that sets up a VC is a BCS value. The minimum number of VCs supporting a given customer is the number of distinct behavior classes desired by the customer.
The ATM Forum proposal is expected to provide a high multiplexing gain with regard to elastic traffic. In particular, the Peak Cell Rates (PCRs) of UBR VCs on a common link or transmission facility may be provisioned such that the sum of these PCRs is greater than the actual link capacity. However, a problem exists in that a service provider may not be able to meet the service QoS commitments that ought to be provided to the inelastic flows. This is because the inelastic flows would be mapped to UBR VCs, which have no service commitments.
For the reasons stated above, it would be desirable to have a system for mapping elastic and inelastic traffic types to connections within a connection-oriented network which enables a service provider to meet service commitments appropriate for inelastic flows, and to simultaneously support elastic flows. Moreover, the system should also allow virtual trunks to be used to simultaneously carry both elastic and inelastic traffic, while providing isolation of each virtual trunk from other virtual trunks. Additionally, the system should enable customers to achieve high multiplexing gains on their virtual trunks, employ relatively simple provisioning, and should enable provisioning of virtual trunks across a service provider""s network with a commitment of no loss or minimal loss delivery. The system should further achieve work conserving transfer within and across virtual trunks.
In accordance with the present invention, a system and a method are disclosed for supporting multiple application traffic types over connection oriented networks. The disclosed system receives data associated with multiple applications. Such data may, for example, be received in the form of a number of data units, each one of which is associated with a traffic type. The traffic type associated with a data unit indicates whether the data unit is inelastic traffic, which must be transferred consistent with certain delay variation parameters, or elastic traffic, which is not associated with delay variation limits. The received data units may, for example, be IP protocol packets received from a network at an edge device that includes an interface to an ATM network. While the traffic type of a received IP packet may, for example, be determined by examination of a codepoint within a Differentiated Services field within the IP header of the packet, the traffic type may alternatively be determined by examining some combination of header field values defining a packet flow. The specific header fields storing values appropriate for distinguishing between different flows for the purpose of determining a traffic type are implementation dependent, and may or may not include the differentiated services field in the IP packet header.
The disclosed system maps data units that are associated with inelastic traffic to at least one connection of a first connection type. Connections of the first connection type provide for some amount of committed bandwidth, and limits on delay variation. For example, where the disclosed system is implemented within an edge device connecting a network to an ATM network, the disclosed system may map inelastic traffic data units to one or more ATM connections of the Constant Bit Rate (CBR) ATM service category. The connections that the disclosed system maps to received inelastic traffic advantageously provide bandwidth commitments which enable data to be transferred through them at a predetermined data rate and without exceeding a predetermined delay variation.
Data units associated with elastic traffic are mapped to at least one connection of a second connection type. Connections of the second connection type are not associated with any committed bandwidth. However, connections of the second connection type may ensure that elastic traffic data units that are accepted for transfer by the underlying network are delivered without loss due to network congestion. For example, where the connections of the second connection type are flow controlled, the interface to those connections would not permit data units to be accepted by the underlying network unless flow control information permitted that transfer of the data units to take place. Thus, connections of the second connection type may employ a flow control technique which guarantees delivery of accepted data units without loss due to network congestion.
Examples of flow control techniques which guarantee delivery of accepted data units without loss due to network congestion include window based methods such as X.25 and TCP. One example of a flow controlled ATM technique which guarantees delivery of accepted data units without loss due to network congestion, and which may be used for connections of the second connection type, is known as xe2x80x9cControlled Transferxe2x80x9d (CT). Controlled Transfer ATM connections have been described by the International Telecommunication Union (ITU) as an ATM Transfer Capability (ATC), in xe2x80x9cITU Telecommunication Standardization Sector, xe2x80x9cPart I of the Report of Working Party 2/13 (Network Capabilities Including B-ISDN and Interworking)xe2x80x9d, COM 13-R 49-E, Annex 8, March 1999, all disclosures of which are hereby included herein by reference. Controlled Transfer is, like UBR, relatively easy to provision, and additionally supports guaranteed low loss transfer. Also like UBR, CT connections are specified just by means of a PCR. Unlike basic UBR connections, however, CT connections can support a service that guarantees no loss due to congestion over a domain provided by a network operator. This feature enables customer control over discard strategies at an ingress node. Controlled Transfer is an example of an ATM layer mechanism for providing a service that allows a traffic source to transmit at a rate up to a negotiated Peak Cell Rate (PCR), as long as the network indicates that sufficient resources are available. The CT mechanism allows networks to support elastic applications using controls on the number of cells emitted into the network. CT further allows networks to make QoS commitments for elastic applications with stringent cell loss ratio requirements. Access to the network is controlled by a credit-based protocol. ATM CT connections are divided into separately controlled CT segments, and CT flow control occurs between network nodes on each segment. A network operator can use CT to support a service that provides instant access to available network bandwidth, together with a guarantee of no loss due to network congestion.
Mapping the elastic flows to CT VCs enables the network operator to guarantee a low loss transfer across its network. For purposes of illustration, one virtual trunk model using CT connections to carry elastic traffic, contains one CBR VC and one CT VC per virtual trunk. However, multiple connections of the first connection type and/or second connection type may be grouped into a single virtual trunk. As in the embodiment of the disclosed system in which elastic flows are mapped to UBR connections, an embodiment of the disclosed system using CT connections provides virtual trunk traffic isolation, differing relative priorities within a virtual trunk, high multiplexing gain, work conserving transfer within and across the virtual trunks, and relatively simple provisioning. The use of CT VCs also advantageously supports a service that prevents cell loss due to network connection. This results from the fact that cells or cell groupings are not discarded at any interior node.
In order to handle the forwarding of received data units onto connections within multiple virtual trunks, one embodiment of the disclosed system uses what is generally referred to as a hierarchical scheduler. The hierarchical scheduler may provide xe2x80x9cweightedxe2x80x9d service to certain predetermined connections. The hierarchical scheduler may further be designed to ensure fairness across different connections.
The hierarchical scheduler may be used to ensure a high multiplexing gain with respect to the use of a customer""s virtual trunk. The hierarchical scheduler may further be used to take into account the grouping of VCs into virtual trunks. For purposes of illustration, assume that each virtual trunk contains one CBR VC and one UBR VC. In such a case, each customer sees a virtual trunk with a committed bandwidth equal to the PCR of the CBR VC of that virtual trunk. Further, each customer has first priority to use any of their committed bandwidth for either inelastic or the elastic traffic. If at any time, for a given customer, there is no offered inelastic traffic to take advantage of a transmission opportunity, then the hierarchical scheduler checks to see if there is any elastic traffic queued on the customer""s UBR VC. If so, an ATM cell from one of the customer""s elastic traffic flows is scheduled for transmission. The PCR of the customer""s UBR VC should advantageously be set at least as large as the PCR of the customer""s CBR VC. If no ATM cells are queued on either the CBR VC or the UBR VC in that customer""s virtual trunk, then queued elastic traffic from some other customer""s virtual trunk may be scheduled for transmission in a transmission opportunity which would otherwise go unused.
The disclosed system substantially addresses the shortcomings of existing proposals by mapping inelastic traffic to virtual connections having committed bandwidth. In one illustrative embodiment, the PCR of a CBR VC may be set to accommodate the peak rate requirements of each of the inelastic flows mapped onto it. Further, the sum of the PCRs of CBR VCs sharing a common link may be set to be less than or equal to the link capacity. By mapping the inelastic flows to CBR VCs, an embodiment of the disclosed system may enable a network operator to commit to the QoS desired for these flows. Further in an illustrative embodiment, elastic flows may be mapped to VCs which employ a flow control mechanism that prevents cell loss due to congestion within the network, thus retaining the opportunity for high multiplexing gain together with low loss transfer.
The disclosed system advantageously provides not only high multiplexing gain, but also isolation between customers. Each customer""s view of the network service is a virtual trunk, such that the customer may consume all the virtual trunk""s bandwidth on demand. In an illustrative embodiment, the UBR VCs within a virtual trunk can use transmission opportunities not used by the CBR VC within that virtual trunk, up to the PCR of the CBR VC. In addition, a UBR VC in a given virtual trunk can use available transmission opportunities from other virtual trunks while still maintaining traffic isolation.
The disclosed system is straightforward to provision. In general, a service provider must provision enough bandwidth for the aggregate of the flows within a virtual trunk. In an illustrative embodiment of the disclosed system, the service provider can provision the PCR of the CBR VC to accommodate bandwidth needs of the inelastic flows. Moreover, the service provider can elect to include within the PCR of the CBR VC an additional amount of bandwidth, which then would be available for sharing among the customer""s elastic flows.
In this way, an embodiment of the disclosed system uses UBR VCs or VCs with flow control for elastic flows. Such an embodiment provides isolation, multiple traffic priorities, high multiplexing gain, and simple provisioning. UBR VCs may not satisfy a customer""s need for a commitment to low loss transfer across an operator""s network with regard to elastic traffic. However, embodiments in which connections of the second connection type employ flow control may force discard control back to the ingress node, thus allowing the customer (e.g. an ISP) to have full control over discard control strategies that may be implemented at an ingress node.
Thus there is disclosed a system for mapping elastic and inelastic traffic types to connections within a connection-oriented network which enables a service provider to meet service commitments appropriate for inelastic flows, and to simultaneously support elastic flows. The disclosed system also allows virtual trunks to be used to simultaneously carry both elastic and inelastic traffic, while providing isolation of each virtual trunk from other virtual trunks. Additionally, the disclosed system enables customers to achieve high multiplexing gains on their virtual trunks, employ relatively simple provisioning, and further enables provisioning of virtual trunks across a service provider""s network with a commitment of no loss or minimal loss delivery. The disclosed system also achieves work conserving transfer within and across virtual trunks.